Digital color imaging on high-resolution printers such as xerographic printers requires handling large amounts of video data for each page. The color image for each page is typically represented as a set of four color planes, usually cyan, magenta, yellow, and black. For a single-pass printer, the data for each color plane must be presented to the printer at the same time. The actual start of each color plane will be slightly different depending on the position of the imaging stations in the printer.
It is often desirable to reduce the size of the color images to reduce the amount of solid state memory required to buffer the images, reduce the amount of disk space to store the images, and speed up transfer of the images within the printing system. This is done by compressing the page images after they are generated and decompressing them immediately before they are needed for printing.
There are a number of different compression schemes to reduce the size of the page images. One such method is to use the lossy or lossless JPEG compression standard. Better compression can be achieved with more complex algorithms such as the separation difference algorithm described by Rabbani in U.S. Pat. No. 5,956,467. Another technique to obtain better compression is to segment the image into regions and use a different compression algorithm for each region. Regardless of the specific technique used to improve the compression, the logic for decompression can become very complex and expensive.
A single-pass color printer requires the decompressed data for all color planes at the same time. The conventional way to provide decompressed data for each color plane simultaneously is to have a separate copy of the decompression logic for each color plane.
This method has a cost disadvantage if the decompression logic is expensive, since the cost of the decompression logic is multiplied by the number of color planes.
The present invention provides a method of time sharing a single implementation of the decompression logic operating at four times the speed so that decompressed image data is available for all four color planes simultaneously. The present invention accomplishes the time-sharing using a minimal amount of buffering and logic. The unit of processing in the decompressor is one strip. A strip is eight scan lines of image data from one color plane. The decompressor will take in the compressed data for one strip, decompress it, and output the raw video data. This requires that the compression operation divide the image data for each separation into independent strips. The input to the decompressor must be controlled so that Direct Memory Access (DMA) to the proper strip of the proper color plane is loaded when needed. The output from the decompressor must be directed to the proper buffer. There are separate buffers for each of the four color separations.
The four color separation images are typically stored in main memory as four complete compressed images, but are needed at different times by the print heads. For example, if the first scan line of the page needs some of each color, but the print heads are separated by a few inches, then each color for the first scan line must be separated by the amount of time that it takes for the leading edge of the paper to travel from one head to the next.
The common method of handling this is to have four channels, one for each separation. As the paper arrives at each head, a page sync signal for that separation is generated, and the image is DMAed from memory through a decompressor to a buffer for the associated print head. Since the entire image for each separation is compressed and stored as a single data string, once the decompression is started, it must continue for the entire image. The result is the requirement for four decompressors and image buffers, one for each print head.
If a single decompressor that operates at four times the data rate needed for each color separation and the single decompressor can be time-shared using multiplexing logic, then the single decompressor can replace four decompressors thus reducing the cost of the printing system.